This invention relates to methods and systems for authoring and rendering hypermedia content in conjunction with client devices such as Internet browsers.
xe2x80x9cHypermediaxe2x80x9d is a metaphor for presenting information in which text, images, sounds, and actions become linked together in a complex, non-sequential web of associations that permit a user to browse through related topics, regardless of the presented order of the topics. xe2x80x9cHypermediaxe2x80x9d arises from the term xe2x80x9chypertext,xe2x80x9d which was originally coined to describe linking in textual documents.
Hypermedia content is widely used for navigation and information dissemination on the xe2x80x9cWorld-Wide Webxe2x80x9d (WWW or Web) of the Internet. An application program referred to as a client viewer or xe2x80x9cWeb browserxe2x80x9d is normally used to retrieve and render hypermedia content from the WWW.
Hypermedia content is commonly organized as documents or files with embedded control information. The embedded control information includes formatting specifications, indicating how a document is to be rendered by the Web browser. In addition, such control information can include links or xe2x80x9chyperlinksxe2x80x9d: symbols or instructions telling the Web browser where to find other related WWW documents on the Internet. A hyperlink from one hypermedia topic to another is normally established by the author of a hypermedia document, although some applications allow users to insert hyperlinks to desired topics.
When a user selects or activates a hyperlink from a browser, the browser requests the document or file that is targeted by the hyperlink. In response, the file is downloaded to the browser, and the browser displays or otherwise renders the hypermedia content specified by the file.
WWW technology has progressed at a very high rate, accompanied by intense competition between various companies hoping for their own products to become accepted standards. Web browsers have been a particular subject of competition, with different companies adding different useful innovations to their browsers.
The different functionality of available browsers presents a dilemma for authors of WWW content. To assure compatibility across a wide range of browsers, authors can simply limit their use of features to a core set that is available on all or nearly all browsers. Much more impressive presentations can of course be achieved by utilizing more advanced features; at the unfortunate cost, however, of limiting available audiences to those having browsers with the advanced features.
In some cases, it is possible to format a WWW document for a particular browser, and the document will still be viewable with other browsers. However, the other browsers will not be able to display the document with all of its formatting, and the document will not look as good on these browsers.
A similar problem is presented by the distribution of WWW content to users or clients having vastly different equipment characteristics or capabilities. Communications speed is one characteristic that varies widely between Internet users. Many users are limited to relatively slow speeds such as 9600 bits-per-second. At this speed, transferring bit-mapped graphic images is painfully slow. Other users might have a connection to an Internet provider at 28,800 bits-per-second, making bit-mapped image transfer much more acceptable. Still other users might have connections at ISDN or higher speeds, allowing the exchange of data at much higher resolutions.
Displays also vary dramatically from client to client. It is becoming more and more common for desk-based computers to have 21-inch, high-resolution, color displays. At the same time, the use of laptop computers is becoming very common. Laptop computers typically have more limited display capabilities. Other devices might have even more limited capabilities. Electronic pocket organizers, for instance, might have only a very small monochrome display, at a very low pixel resolution.
It is difficult, and in many cases impossible, for an author to create a WWW document that is well suited for all of the different clients that might eventually make use of the document. Presently, the only way to achieve this goal is to create multiple hypertext documents, or possibly to vary document contents by using embedded scripts. For clients having small displays and low communication speeds, the author might wish to limit the amount of graphic images provided, or in some cases to provide images in monochrome rather than color format. For clients having large displays, communicating at ISDN speeds, it will be more desirable to provide extensive color, high-resolution graphics. The author might also wish to create different WWW documents for clients using different browsers. One can imagine many other variations that an author might wish to make in WWW documents based on different characteristics of intended clients or users.
We believe that there is a more efficient way to make varied presentations to users having different characteristicsxe2x80x94one that requires very little additional effort on the part of multimedia authors.
The invention involves authoring multimedia content in a generic format that is not specific to the features of any particular client browser. When a client requests an information page, a server reads a page specification and converts it into a format that is tailored specifically for the requesting client. The information page is converted into a format that utilizes advanced features of the client""s browser and that also efficiently utilizes the resources available to the client.
To render a requested information page at a client device, the server selects a page renderer that is compatible with the client""s rendering software. The page renderer then selects different pane renderers which are responsible for different portions of the overall information page. The pane renderers have different ways of rendering the same information, and the page renderer selects the pane renderers to result in a desired format that efficiently utilizes the client""s resources. The page renderer lays out or arranges the portions or panes of the information page, and then calls the selected pane renderers to emit instructions for rendering the individual panes.
The page specification for a particular page indicates nominal sizes and positions of the individual panes within the page. However, the page renderer is free to vary these parameters as necessary to achieve a useful rendering for each individual client.